// multer插件
const multer = require('multer')
// 内置模块
var fs = require('fs');

// 没有文件 则创建
var createFolder = function (folder) {
    try {
        // 权限测试
        fs.accessSync(folder);
    } catch (e) {
        // 创建文件
        fs.mkdirSync(folder);
    }
};

// 上传图片路径
var uploadFolder = 'public/images';
createFolder(uploadFolder);

// 通过 filename 属性定制
var storage = multer.diskStorage({
    destination: function (req, file, cb) {
        cb(null, uploadFolder);    // 保存的路径，备注：需要自己创建
    },
    filename: function (req, file, cb) {
        // 将保存文件名设置为 字段名 + 时间戳，比如 logo-1478521468943
        // console.log(file.originalname.split("."));
        // 获取文件名后缀判断图片类型
        let arr = file.originalname.split(".")
        // 取出后缀名
        let suffix = arr[arr.length - 1] 
        // console.log(arr[arr.length - 1] );

        // 自定义文件存储名
        cb(null, file.fieldname + '-' + Date.now() + `.${suffix}`);
    }
})

/**
 * cb 回调的第一个参数为  错误信息参数 查看源码可知
 */

// 通过 storage 选项来对 上传行为 进行定制化
var upload = multer({ storage: storage })

module.exports = upload
